The Universal Serial Bus, (USB) standard, is a peripheral device bus standard developed by members of the personal computer and telecommunications industry to provide plug and play of computer peripheral devices outside the personal computer itself. It provides for a single, universal, interface connector and eliminates the current need for different ports and different jacks. It also eliminates the need to install different cards into dedicated computer slots and reconfigure the system. Personal computers, or PCs, equipped with USB allow computer peripheral devices to be automatically configured as soon as they are physically attached. The automatic configuration setup would occur without the need to reboot or run a setup program. The USB will also allow multiple devices (up to 127) to run simultaneously on a computer, with peripheral devices such as monitors and keyboards acting as additional plug-in sites, or hubs.
The range of peripheral devices permitted by the USB include monitors, keyboards, mice, game devices, audio IO devices, telephones, modems, CD ROM or DVD drives, joysticks, tape and floppy drives and, imaging devices such as scanners and printers. The 12-megabit per second data rate of the USB also accommodates a whole new generation of peripheral devices. These include more advanced computer game devices, high-fidelity audio and highly compressed video, like MPEG-1 and MPEG-2 video-based products, data gloves and digitizers. Also, since computer-telephony integration is expected to be a big growth area for PCs, the USB provides a low-cost interface for Integrated Services Digital Network (ISDN) and digital PBXs.
Drawing its intelligence from the host PC, the USB will detect and properly configure devices when added and removed. The host PC automatically determines what host resource, including driver software and bus bandwidth, each peripheral device needs and makes those resources available without user intervention. Users with a USB-equipped PC are able to switch in compatible peripheral devices as needed as easily as plugging in a lamp.
The USB in many ways resembles a telecommunications link with a defined protocol. The host PC sends out a large number of queries that the peripheral device must respond to. This protocol is spelled out in the USB Standard which describes the hardware and software required.
The problem with the USB is that every computer peripheral device must have a microcomputer, microprocessor or microcontroller (hereinafter generically referred to as "microcomputer") capable of responding to the queries from the host PC. The microcomputer has to have USB logic attached to it, memory associated with it, and the ability to handle communication with the host PC with software which monitors the signals almost at a bit and byte level.
Another problem with the USB is that every microcomputer has to be programmed according to the complex specifications in order to work with the USB. This requires that every computer peripheral device manufacturer must have or develop engineers who are familiar with the USB specification. A further problem is that engineers who develop mice currently would have little or no familiarity with telecommunications protocols provided for in the USB standards. Thus, they would have to acquire a complete set of software tools, microprocessor development systems, debugging systems, and test systems, not to mention the software expertise, to implement the USB specification which is about six hundred pages long.
In addition, even simple USB projects take between four and six man-months of engineering time and with the demand for shortened lead-time to market, this engineering time could be the difference between a successful product and a failure.
It has long been assumed that these problems were inherent in the USB.